/**
 * 枚举类-样式
 */

//------------------------------ 全局样式相关 ---------------------------

//样式大小枚举
export enum SizeEnum {
  DEFAULT = 'default',
  SMALL = 'small',
  LARGE = 'large',
}

export const SIDE_BAR_MINI_WIDTH = 48;
export const SIDE_BAR_SHOW_TIT_MINI_WIDTH = 80;

// 标签页样式
export enum TabsThemeEnum {
  // 圆滑
  SMOOTH = 'smooth',
  // 卡片
  CARD = 'card',
  // 极简
  SIMPLE = 'simple',
}

export enum ContentEnum {
  FULL = 'full',
  FIXED = 'fixed',
}

// menu theme enum
export enum ThemeEnum {
  DARK = 'dark',
  LIGHT = 'light',
}

export enum SettingButtonPositionEnum {
  AUTO = 'auto',
  HEADER = 'header',
  FIXED = 'fixed',
}

export enum SessionTimeoutProcessingEnum {
  ROUTE_JUMP,
  PAGE_COVERAGE,
}

//  Route switching animation
export enum RouterTransitionEnum {
  ZOOM_FADE = 'zoom-fade',
  ZOOM_OUT = 'zoom-out',
  FADE_SIDE = 'fade-slide',
  FADE = 'fade',
  FADE_BOTTOM = 'fade-bottom',
  FADE_SCALE = 'fade-scale',
}


//组件类型
export enum CompTypeEnum {
  Radio = 'radio',              //单选
  RadioButton = 'radioButton',  //按钮样式单选
  Select = 'select',            //下拉框
  List = 'list',                //列表
  Switch = 'switch',            //开关
  SelTree = 'sel_tree',         //下拉树
  CatTree = 'cat_tree',         //分类字典树
  SelSearch = 'search',         //下拉搜索
  SelUser = 'sel_user',         //用户现在框
  Checkbox = 'checkbox',        //复选框
  ListMulti = 'list_multi',     //多选列表
  Pca = 'pca',                  //区域选择
  Popup = 'popup',
  SelDepart = 'sel_depart',     //部门选择
}

//JInput组件类型
export enum JInputTypeEnum {
  JINPUT_QUERY_LIKE = 'like',   //模糊
  JINPUT_QUERY_NE = 'ne',       //非
  JINPUT_QUERY_GE = 'ge',       //大于等于
  JINPUT_QUERY_LE = 'le',       //小于等于
}


//------------------------------ 菜单相关 ---------------------------
export enum MenuTypeEnum {
  SIDEBAR = 'sidebar',          // left menu
  MIX_SIDEBAR = 'mix-sidebar',
  MIX = 'mix',                  // mixin menu
  TOP_MENU = 'top-menu',        // top menu
}

// 折叠触发器位置
export enum TriggerEnum {
  // 不显示
  NONE = 'NONE',
  // 菜单底部
  FOOTER = 'FOOTER',
  // 头部
  HEADER = 'HEADER',
}

export type Mode = 'vertical' | 'vertical-right' | 'horizontal' | 'inline';

// menu mode
export enum MenuStyleEnum {
  VERTICAL = 'vertical',
  HORIZONTAL = 'horizontal',
  VERTICAL_RIGHT = 'vertical-right',
  INLINE = 'inline',
}

export enum MenuSplitTyeEnum {
  NONE,
  TOP,
  LEFT,
}

export enum TopMenuAlignEnum {
  CENTER = 'center',
  START = 'start',
  END = 'end',
}

export enum MixSidebarTriggerEnum {
  HOVER = 'hover',
  CLICK = 'click',
}
//------------------------------  ---------------------------

export enum sizeEnum {
  XS = 'XS',
  SM = 'SM',
  MD = 'MD',
  LG = 'LG',
  XL = 'XL',
  XXL = 'XXL',
}

export enum screenEnum {
  XS = 480,
  SM = 576,
  MD = 768,
  LG = 992,
  XL = 1200,
  XXL = 1600,
}

const screenMap = new Map<sizeEnum, number>();
screenMap.set(sizeEnum.XS, screenEnum.XS);
screenMap.set(sizeEnum.SM, screenEnum.SM);
screenMap.set(sizeEnum.MD, screenEnum.MD);
screenMap.set(sizeEnum.LG, screenEnum.LG);
screenMap.set(sizeEnum.XL, screenEnum.XL);
screenMap.set(sizeEnum.XXL, screenEnum.XXL);

export { screenMap };